package com.polaris.live.resp.go_resp

import com.polaris.live.common.AppModule
import com.polaris.live.common.constant.AppConst
import com.polaris.live.resp.go_resp.device.AbstractDeviceBean

/**
 * 发送验证码需要的参数
 *
 * @author Created by 半仙 on 2023/9/4/004 17:20
 */
data class VerifyBean(
    /**
     * 应用类型
     */
    override val appType: Int = AppConst.APP_TYPE,
    /**
     * 平台类型
     */
    override val platformType: Int = AppConst.PLATFORM_TYPE,
    /**
     * 马甲类型
     */
    override val variantType: Int = AppConst.VARIANT_TYPE,
    /**
     * 应用版本
     */
    override val appVersion: String = AppModule.getVersionName(),
    /**
     * 编译版本
     */
    override val buildVersion: Int = AppModule.getAppVersion(),
    /**
     * 语言
     */
    override val language: String = AppModule.getLanguage(),
    /**
     * 设备型号
     */
    override val osModel: String = AppModule.getOsModel(),
    /**
     * 系统版本
     */
    override val osVersion: String = AppModule.getOsVersion(),
    /**
     * 设备标识
     */
    val uniqueId: String = AppModule.requireUniqueDeviceId(),
    /**
     * 发送的短信类型 [0:注册, 1:登录, 2:修改密码, 3:找回密码, 4:绑定手机]
     */
    val userSmsType: Int,
    /**
     * 区号
     */
    val areaCode: String? = null,
    /**
     * 手机号码
     */
    val phoneNumber: String? = null,
    /**
     * 邮箱
     */
    val gmail: String? = null,
    /**
     * 远程ip
     */
    val remoteIp: String? = null,
    /**
     * google验证码校验
     */
    val validate: String? = null
) : AbstractDeviceBean()